final untility